define(
[],
function(){
    return {
        create: function(colorCode, id) {
            var pickListeners = [];

            var _self = {
                colorCode:colorCode,
                id:id,

                addPickListener: function(F_pick) {
                    pickListeners.push(F_pick);
                },

                remPickListener: function(F_pick) {
                    var idx = pickListeners.indexOf(F_pick);
                    if(idx >= 0) {
                        pickListeners.splice(idx, 1);
                    }
                },

                triggerPickListeners: function() {
                    for(var idx in pickListeners)
                        pickListeners[idx](_self);
                }
            };

            return _self;
        }
    };
});